package ms.maplestory.boot.client.character.skills.info;

import lombok.Getter;
import lombok.Setter;
import ms.maplestory.boot.enums.SkillStatType;
import ms.maplestory.boot.util.Rect;

import java.util.*;

@Getter
@Setter
public class SkillInfo {

    private int id;
    private int rootId;
    private int masterLevel;
    private int maxLevel;
    private int type;

    private boolean invisible;
    private boolean psd;
    private String elemAttr = "";

    private Set<Integer> psdSkills = new HashSet<>();
    private Map<Integer, Integer> reqSkills = new HashMap<>();
    private List<Rect> rectList = new ArrayList<>();
    private Map<SkillStatType, String> skillStatInfo = new HashMap<>();

    public void addPsdSkill(int skillID) {
        psdSkills.add(skillID);
    }

    public void addReqSkill(int skillID, int slv) {
        reqSkills.put(skillID, slv);
    }

    public void addRect(Rect rect) {
        rectList.add(rect);
    }

    public void addSkillStatInfo(SkillStatType skillStatType, String value) {
        skillStatInfo.put(skillStatType, value);
    }
}
